A(1) Field of the Invention
The invention relates to a digital filter arrangement for filtering non-uniformly quantised pulse code modulated signals formed by a sequence of code groups x(i), each comprising a polarity bit p(i), a segment number s(i) and a mantissa number m(i).
A(2) Description of the Prior Art
As is known non-uniform pulse code modulation allows the conversion of information signals, which may vary over a wide dynamic range, into code groups, whose number of bits is smaller than the number of bits which is necessary when uniform pulse code modulation is used for coding a signal. The result is that when non-uniform pulse code modulation is used, the bit rate on the transmission path is lower than when uniform pulse code modulation is used and the signal-to-quantisation noise ratio is substantially constant over a considerable portion of the dynamic range.
A non-uniformly quantised pulse code-modulated signal is obtained by a non-linear processing of an information signal. This non-linear processing operation is known as compression. The characteristic indicating the relationship between the information signal and the non-uniformly pulse code modulated signal is called the compression characteristic. The 13-segment A-law and the 15-segment .mu. law are the most customary compression characteristics.
The segment number s(i) in the code group x(i) now indicates, in base-2 code, the segment number. This number s(i) comprises N.sub.1 bits, called the characteristic bits. If, for the compression, use is made of one of the above-mentioned compression characteristics then N.sub.1 =3 and the segment number equals s.sub.2 s.sub.1 s.sub.0, wherein s.sub.o represents the least significant and s.sub.2 the most significant bit, and wherein s.sub.j equals 1 or 0.
The mantissa number m(i) in the code group x(i) indicates, in base-2 code, the number of quantisation steps on the segment s(i). This number m(i) comprises N.sub.2 bits, called the mantissa bits. If the above-mentioned compression characteristics are used, N.sub.2 equals 4. The number m(i) is now given by e.sub.3 e.sub.2 e.sub.1 e.sub.0. Herein it holds that e.sub.0 is the least significant and e.sub.3 the most significant bit and that e.sub.j has the value 1 or 0.
As is known (see, for example, reference 2), filtering a digital signal formed by a sequence of numbers z(i) means that a sequence of numbers y(i) must be determined, the relationship between y(i) and z(i) being given by the expression: ##EQU1## if a nonrecursive digital filter is used. In (1), a(k) represents a weighting factor, called the filter coefficient.
If a recursive digital filter is used to filter a digital signal, the relationship between y(i) and z(i) is given by the expression. ##EQU2## In (2) a(k) and b(k) again represent filter coefficients.
If now a non-uniformly quantised pulse code-modulated signal is applied to the digital filter it will be necessary, in order to obtain a useful result, to convert this signal into a uniformly quantised pulse code-modulated signal formed by a sequence of numbers z(i), each related in a manner still to be described (see also reference 1) to the numbers s(i) and m(i).
When designing a digital filter two parameters have an extremely important influence on the ultimate implementation; i.e. the required storage capacity and the maximum permissible internal processing rate.
For a non-recursive digital filter (see expression 1) the required storage capacity is determined by the value of N and the number of bits of the numbers a(k) and z(i). For a recursive digital filter (see expression (2)), the required storage capacity is, furthermore, determined by the value M and the number of bits of the numbers b(k) and y(i).
In general, a number z(i) in the uniformly quantised pulse code modulated signal will comprise a greater number of bits than a code group x(i) in the non-uniformly quantised code modulated signal. Therefore it is advantageous to store the code groups x(i) (as described in reference 3) instead of the numbers z(i).
The non-recursive digital filter, described in reference 3, for processing non-uniformly quantised pulse code modulated signals is constituted by a cascade arrangement of N storage sections, each arranged for storing and supplying a code group x(i). The output of each of these storage sections is connected to a summing arrangement through a branch in which a storage medium is incorporated. The products of all possible values of z(i) and the filter coefficients a(k), characteristic of the relevant branch, are stored in each of these storage media. If it is assumed that the products stored in the storage media consist of thirteen bits, the storage capacity of each of these storage media must be 13.times.2.sup.8, so that a total storage capacity of 8N+13.times.2.sup.8 N is required in this digital filter.
The internal processing rate, is, for instance, determined by the number of bits of the numbers a(k), b(k), z(i) and y(i) and, particularly, by the time available for effecting a multiplication for determining the product a(k)z(i-k) and the product b(k)y(i-k).
The most frequently used method of binary multiplication of linear numbers is by accumulation, for which shifted versions of the multiplicand (for example x(i-k)) are applied to an accumulator, shifting of the multiplicand being determined by the digits of the multiplier (for example a(k)). The time required for performing a multiplication is determined by the number of times the multiplicand x(i-k) must be applied to the accumulator and so by the number of digits of a(k); furthermore, this period of time is determined by the time required by the accumulator to add a multiplicand applied thereto to the contents of the accumulator.
For a non-recursive digital filter (see expression (1)) the above means that if a(k) and z(i-k) are each for example, twelve-bit numbers, a total of approximately 12N shifting operations and 12N summing processes must be performed to determine one output signal sample y(i).
In the non-recursive digital filter described in reference 3, the number of summing processes for each output signal sample is reduced to N by storing all the possible products of a(k) and z(i-k) in a storage medium. With this known device the number of summing processes for each output signal sample y(i) and, consequently, the internal processing rate is, indeed, particularly low; however, an enormous storage capacity is required, which is some hundreds of thousands of bits for normal values of N (for example N=100).